#ifndef USER_H
#define USER_H

#include <QVector>
#include "username.h"
#include "profilo.h"
#include "tag.h"

class Contatto;
class Gruppo;
class User{
protected:  //il protected ci sta, membri devon'essere accessibili da tutte le classi base
  Username* u;
  Profilo* p;
  QVector<Contatto*> collegamenti;
  QVector<Gruppo*> gruppi;

public:
  User(Username*, Profilo*);
  virtual ~User();
  QString getNick() const;
  QString getPwd() const;
  QString getNome() const;
  QString getCognome() const;
  int getGender() const;
  Profilo* getProfilo() const;
  Username* getUsername() const;
  QVector<Contatto*> getColl() const;
  QVector<Gruppo*> getGru() const;
  void setColl(QVector<Contatto*>&);
  void setGru(QVector<Gruppo*>&);
  void clearvector();   //Per evitare che mi cancelli i Contatto* e i Gruppo* presenti all'interno,crashando.
};

#endif // USER_H
